package part14;

/**
 * @author wcj
 * @Date 2021/5/26 14:20
 * @Version 1.0
 */
public class Part145 {

    /**
     * 泛型的Class引用。用于执行额外的类型检查，可以避免编译期错误
     * 通常Class<?>这个写法相比于自己Class更好，通配符？表明就是要转换为一个不确定的类型而不是不知道转换为什么类型不写</>
     *
     * @param args
     */
    public static void main(String[] args) {
        Class<Integer> integerClass = int.class;
        Class<Double> doubleClass = double.class;
        // 这种做法是错误的，虽然Number是Integer类的基类，但是Number.class并不是Integer.class的基类
//        Class<Number> numberClass = int.class;
        // 这种写法是正确的，因为这种写法表明得到的class类型需要为Number的导出类
        Class<? extends Number> extendClass = int.class;
    }
}
